package com.recipe;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

import javax.swing.*;
import java.awt.*;
import java.awt.event.MouseAdapter;
import java.awt.event.MouseEvent;

@SpringBootApplication
public class RecipeApplication {

	public static void main(String[] args) {
		//SwingUtilities.invokeLater的作用可以详细百度一下，我新手
		SwingUtilities.invokeLater(new Runnable() {
			@Override
			public void run() {
				createAndShowGUI();
			}
		});
		SpringApplication.run(RecipeApplication.class, args);
	}
	private static void createAndShowGUI(){
		// 创建 JFrame 实例
		JFrame frame = new JFrame("Login Example");
		// Setting the width and height of frame
		frame.setSize(400, 250);
		/**
		 * 下边的这句话，如果这么写的话，窗口关闭，springboot项目就会关掉，使用
		 * dispose则不会
		 */
       frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
	//	frame.dispose(); //如果写这句可实现窗口关闭，springboot项目仍运行
		/* 创建面板，这个类似于 HTML 的 div 标签
		 * 我们可以创建多个面板并在 JFrame 中指定位置
		 * 面板中我们可以添加文本字段，按钮及其他组件。
		 */
		JPanel panel = new JPanel();
		panel.setBackground(Color.lightGray);
		// 添加面板
		frame.add(panel);
		int windowWidth = frame.getWidth(); //获得窗口宽
		int windowHeight = frame.getHeight(); //获得窗口高
		Toolkit kit = Toolkit.getDefaultToolkit(); //定义工具包
		Dimension screenSize = kit.getScreenSize(); //获取屏幕的尺寸
		int screenWidth = screenSize.width; //获取屏幕的宽
		int screenHeight = screenSize.height; //获取屏幕的高
		frame.setLocation(screenWidth/2-windowWidth/2, screenHeight/2-windowHeight/2);//设置窗口居中显示
		/*
		 * 调用用户定义的方法并添加组件到面板
		 */
		placeComponents(panel);

		// 设置界面可见
		frame.setVisible(true);
	}
	private static void placeComponents(JPanel panel) {
		Color color = Color.lightGray;
		/* 布局部分我们这边不多做介绍
		 * 这边设置布局为 null
		 */
		panel.setLayout(null);

		// 创建 JLabel
		JTextArea title = new JTextArea("处方笺已启动");
		Font font=new Font("宋体",Font.BOLD,18);
		title.setFont(font);
		title.setBounds(120,15,250,20);
		title.setBackground(color);
		panel.add(title);
		JTextArea dis = new JTextArea("浏览器输入或点击 localhost 或 127.0.0.1 访问");
		dis.addMouseListener(new MouseAdapter() {

			@Override
			public void mouseClicked(MouseEvent e) {
				try {
					Runtime.getRuntime().exec("cmd.exe /c start " + "http://localhost");
				} catch (Exception ex) {
					ex.printStackTrace();
				}
			}
		});

		Font dfont=new Font("宋体",Font.BOLD,14);
		dis.setFont(dfont);
		dis.setBounds(20,50,350,20);
		dis.setBackground(color);
		panel.add(dis);
		JTextArea way = new JTextArea("使用方法： " +
				"\n   点击页面文本框输入。当文本框失去焦点即为保存，再次点击文字又可修改。每个文本框默认值为两个空格。当不小心空白保存时，点击空格处就可编辑");
		Font wfont=new Font("宋体",Font.BOLD,13);
		way.setFont(wfont);
		way.setBackground(color);
		way.setLineWrap(true);
		way.setBounds(20,90,350,100);
		panel.add(way);
	}
}

